Chat and instant messaging (IM) software applications are ubiquitous in the world of electronic communications. Short messages are typically transmitted bi-directionally between two parties, when each user chooses to type in a message and send it to the other. Some IM applications can use push technology to provide real-time text, which transmits messages character by character, as they are composed. More advanced instant messaging can add file transfer, clickable hyperlinks, Voice over IP, or video chat. Multicast chat, or chat rooms, allow multiple users to participate in the online conversation. Existing technical architectures include peer-to-peer (direct point-to-point transmission) or client-server (a central server retransmits messages from the sender to the receiver). Existing solutions, however, fail to offer robust security to the users involved, particularly when enterprise information is exchanged over a public network, such as the Internet.